package org.xshop.model;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableName;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import top.ibase4j.core.base.BaseModel;

/**
 * <p>
 * <p>
 * </p>
 *
 * @author ShenHuaJie
 * @since 2017-04-21
 */
@TableName("t_order")
@SuppressWarnings("serial")
@ApiModel(value = "订单", description = "订单")
public class TOrder extends BaseModel {

    /**
     * 订单编号
     */
    @TableField("order_no")
    @ApiModelProperty("订单号")
    private String orderNo;
    /**
     * 会员编号
     */
    @TableField("member_id")
    @ApiModelProperty("会员ID")
    private Long memberId;
    /**
     * 订单商品类型
     */
    @TableField("sku_type")
    @ApiModelProperty("订单商品类型")
    private String skuType;
    /**
     * 支付方式
     */
    @TableField("pay_type")
    @ApiModelProperty("支付方式")
    private String payType;
    /**
     * 下单时间
     */
    @ApiModelProperty("下单时间")
    @TableField("order_time")
    private Date orderTime;
    /**
     * 发货时间
     */
    @ApiModelProperty("发货时间")
    @TableField("delivery_time")
    private Date deliveryTime;
    /**
     * 自动确认收货时间
     */
    @ApiModelProperty("自动确认收货时间")
    @TableField("automatic_receipt_time")
    private Integer automaticReceiptTime;
    /**
     * 配送方式
     */
    @TableField("delivery_method")
    @ApiModelProperty("配送方式")
    private String deliveryMethod;
    /**
     * 快递号
     */
    @TableField("express_number")
    @ApiModelProperty("快递号")
    private String expressNumber;
    /**
     * 付款时间
     */
    @ApiModelProperty("付款时间")
    @TableField("pay_time")
    private Date payTime;
    /**
     * 付款结果
     */
    @ApiModelProperty("付款结果")
    @TableField("pay_result")
    private String payResult;
    /**
     * 付款流水号
     */
    @ApiModelProperty("付款流水号")
    @TableField("pay_order_id")
    private String payOrderId;
    @ApiModelProperty("付款平台用户标识")
    @TableField("pay_openid")
    private String payOpenid;
    /**
     * 订单状态
     */
    @TableField("state_")
    @ApiModelProperty("订单状态：1待付款2已取消3待发货4待收货5待评价6已完成")
    private String state;
    /**
     * 二维码
     */
    @TableField("qr_code")
    @ApiModelProperty("二维码")
    private String qrCode;

    @TableField(exist = false)
    @ApiModelProperty("收货地址ID")
    private Long addressId;
    /**
     * 商铺编号
     */
    @TableField("store_id")
    @ApiModelProperty("商铺编号")
    private Long storeId;

    @TableField(exist = false)
    private TMember member;
    @TableField(exist = false)
    private TOrderAddress address;
    @TableField(exist = false)
    private TOrderFee fee;
    @TableField(exist = false)
    private List<Object> skuList;
    @TableField(exist = false)
    private TOrderOther other;
    @TableField(exist = false)
    private String shopName;
    @TableField(exist = false)
    private List<TOrderStateLog> stateLogs;
    @TableField(exist = false)
    private BigDecimal quantity;
    @TableField(exist = false)
    private BigDecimal dispatcherFee;
    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public Long getMemberId() {
        return memberId;
    }

    public void setMemberId(Long memberId) {
        this.memberId = memberId;
    }

    public String getSkuType() {
        return skuType;
    }

    public void setSkuType(String skuType) {
        this.skuType = skuType;
    }

    public String getPayType() {
        return payType;
    }

    public void setPayType(String payType) {
        this.payType = payType;
    }

    public Date getOrderTime() {
        return orderTime;
    }

    public void setOrderTime(Date orderTime) {
        this.orderTime = orderTime;
    }

    public Date getDeliveryTime() {
        return deliveryTime;
    }

    public void setDeliveryTime(Date deliveryTime) {
        this.deliveryTime = deliveryTime;
    }

    public Integer getAutomaticReceiptTime() {
        return automaticReceiptTime;
    }

    public void setAutomaticReceiptTime(Integer automaticReceiptTime) {
        this.automaticReceiptTime = automaticReceiptTime;
    }

    public String getDeliveryMethod() {
        return deliveryMethod;
    }

    public void setDeliveryMethod(String deliveryMethod) {
        this.deliveryMethod = deliveryMethod;
    }

    public String getExpressNumber() {
        return expressNumber;
    }

    public void setExpressNumber(String expressNumber) {
        this.expressNumber = expressNumber;
    }

    public Date getPayTime() {
        return payTime;
    }

    public void setPayTime(Date payTime) {
        this.payTime = payTime;
    }

    public String getPayOrderId() {
        return payOrderId;
    }

    public void setPayOrderId(String payOrderId) {
        this.payOrderId = payOrderId;
    }

    public String getPayResult() {
        return payResult;
    }

    public void setPayResult(String payResult) {
        this.payResult = payResult;
    }

    public String getQrCode() {
        return qrCode;
    }

    public void setQrCode(String qrCode) {
        this.qrCode = qrCode;
    }

    public TOrderAddress getAddress() {
        return address;
    }

    public void setAddress(TOrderAddress address) {
        this.address = address;
    }

    public TOrderFee getFee() {
        return fee;
    }

    public void setFee(TOrderFee fee) {
        this.fee = fee;
    }

    public Long getAddressId() {
        return addressId;
    }

    public void setAddressId(Long addressId) {
        this.addressId = addressId;
    }

    public List<Object> getSkuList() {
        return skuList;
    }

    public void setSkuList(List<Object> skuList) {
        this.skuList = skuList;
    }

    public TOrderOther getOther() {
        return other;
    }

    public void setOther(TOrderOther other) {
        this.other = other;
    }

    public TMember getMember() {
        return member;
    }

    public void setMember(TMember member) {
        this.member = member;
    }

    public String getShopName() {
        return shopName;
    }

    public void setShopName(String shopName) {
        this.shopName = shopName;
    }

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }

    public List<TOrderStateLog> getStateLogs() {
        return stateLogs;
    }

    public void setStateLogs(List<TOrderStateLog> stateLogs) {
        this.stateLogs = stateLogs;
    }

    public BigDecimal getQuantity() {
        return quantity;
    }

    public void setQuantity(BigDecimal quantity) {
        this.quantity = quantity;
    }

    public BigDecimal getDispatcherFee() {
        return dispatcherFee;
    }

    public void setDispatcherFee(BigDecimal dispatcherFee) {
        this.dispatcherFee = dispatcherFee;
    }

    public String getPayOpenid() {
        return payOpenid;
    }

    public void setPayOpenid(String payOpenid) {
        this.payOpenid = payOpenid;
    }

    public Long getStoreId() {
        return storeId;
    }

    public void setStoreId(Long storeId) {
        this.storeId = storeId;
    }
}